<?php

namespace app\admin\model\yxerp\product;

use think\Model;

/**
 * Sku
 */
class Sku extends Model
{
    // 表名
    protected $name = 'yxerp_product_sku';

    // 自动写入时间戳字段
    protected $autoWriteTimestamp = true;


    public function getPurchasePriceAttr($value): ?float
    {
        return is_null($value) ? null : (float)$value;
    }

    public function getSalePriceAttr($value): ?float
    {
        return is_null($value) ? null : (float)$value;
    }

    public function getWeightAttr($value): ?float
    {
        return is_null($value) ? null : (float)$value;
    }

    public function getVolumeAttr($value): ?float
    {
        return is_null($value) ? null : (float)$value;
    }

    public function getImagesAttr($value): array
    {
        if ($value === '' || $value === null) return [];
        if (!is_array($value)) {
            return explode(',', $value);
        }
        return $value;
    }

    public function setImagesAttr($value): string
    {
        return is_array($value) ? implode(',', $value) : $value;
    }

    public function product(): \think\model\relation\BelongsTo
    {
        return $this->belongsTo(\app\admin\model\yxerp\Product::class, 'product_id', 'id');
    }
}